local component = require("component")
local table=require("table")
local debug=component.debug
local radar=component.radar
local rs=component.redstone


function Nosend(n)
    rs.setWirelessFrequency(n)
    rs.setWirelessOutput(false)
end
function Send(n)
    rs.setWirelessFrequency(n)
    rs.setWirelessOutput(true)
    rs.setWirelessOutput(false)
end

local player={}
debug.runCommand("say 正在检测人数...")
os.sleep(1)
player=component.invoke("4fa7e757-9312-4a1d-9745-bf8e0e908728","getPlayers",32)
debug.runCommand("say 当前大厅内玩家数为"..#player.."人")
if #player==1
then
    debug.runCommand("say 符合游戏条件。正在锁定气密闸门！开始对每个准备区域进行检测...")
    for i=1,3 do
       Send(i+1000) 
    end
    player=nil
else
    debug.runCommand("say 不符合开始条件！请继续等待。")
    os.exit()
end


Radarlist={}
Radarlist["7de"]=1
Radarlist["07f"]=3
Radarlist["dcc"]=2


for address,componentType in component.list("radar") do
    if Radarlist[string.sub(address,1,3)]~=nil then
    player=component.invoke(address,"getPlayers",2)
    if #player>4 then
        debug.runCommand("say 第"..Radarlist[string.sub(address,1,3)].."准备室人数为"..#player.."人，严重超标！系统正在退出...")
        player=nil
        for i=1,3 do
            Send(i+1000) 
         end
        os.exit()
    else
        debug.runCommand("say 第"..Radarlist[string.sub(address,1,3)].."准备室人数为"..#player.."人，符合标准。")
    end
    end
end

debug.runCommand("say 检测已通过，将在20秒后激活传送器。请所有队伍准备就绪！")
os.sleep(10)
for i=9,1,-1 do
    debug.runCommand("say "..i)
    os.sleep(1)
end
debug.runCommand("say 游戏开始。正在启动传送设备...")
for i=1,3 do
    Send(i+1000) 
 end

debug.runCommand("say 阶段一。外圈建筑毁灭倒计时开始：300秒")
os.sleep(240)
debug.runCommand("say 注意：外圈建筑即将在60秒后引爆！")
os.sleep(30)
debug.runCommand("say 注意：外圈建筑即将在30秒后引爆！")
os.sleep(30)
